console.log('\x1b[31mre.exec\x1b[0m');
let 我的正则 = /d(?:b+)d/g;
let 我的数组 = 我的正则.exec('cdbbdbsbz');
console.log(我的数组);

console.log('--------------');

我的数组 = /d(?:b+)d/g.exec('cdbbdbsbz');
console.log(我的数组);

console.log('\x1b[31mstr.replace\x1b[0m');

let re = /(\w+)\s(\w+)/;
let str = 'John Smith';
let newstr = str.replace(re, '$2, $1');
console.log(newstr);

console.log('\x1b[31m改变输入字符串的顺序\x1b[0m');
let 名字字串 = 'Orange Trump ;Fred Barney; Helen Rigby ; Bill Abel ; Chris Hand ';
let 输出 = ["---------- 原始字串\n", 名字字串 + "\n"];
let 模式 = /\s*;\s*/;
let 名字列表 = 名字字串.split(模式);
模式 = /(w+)\s+(\w+)/;
let 中间列表 = [];
输出.push('-----------------用正则表达式拆分后');
let 序号, 长度;
for(序号 = 0, 长度=名字列表.length; 序号 < 长度; 序号++) {
    输出.push(名字列表[序号]);
    中间列表[序号] = 名字列表[序号].replace(模式, '$2, $1');
}
输出.push('-------------------名字调换顺序后');
for(序号 = 0, 长度 = 中间列表.length; 序号 < 长度; 序号++) {
    输出.push(中间列表[序号]);
}
中间列表.sort();
输出.push('---------------------排序后');
for(序号 = 0, 长度 = 中间列表.length; 序号 < 长度; 序号++) {
    输出.push(中间列表[序号]);
}
输出.push('---------------------结束');
console.log(输出.join('\n'));
